package org.dbp.reflexion;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 
 * Es una clase de utilidades de los reflexion, relacionada directamente con las entidades de clases.
 * 
 * @author David Blanco París
 *
 */
public class ClassDbpUtils {
	
	private Logger logger = LoggerFactory.getLogger(ClassDbpUtils.class);
	
	private static ClassDbpUtils instancia=new ClassDbpUtils();
	
	public static ClassDbpUtils obtenerInstancia(){
		return instancia;
	}
	
	/**
	 * Es la clase 
	 * @param claseHija
	 * @param clasePadre
	 * @param recursiva
	 * @return
	 */
	public Boolean iguales(Class<?> claseHija,Class<?> clasePadre,Boolean recursiva){
		Boolean valdev=false;
		Class<?> comparar=claseHija;
		while(  recursiva!=null
				&&   recursiva
				&& comparar!=null
				&& clasePadre!=null
				&& !comparar.equals(Object.class)
				&& !comparar.equals(clasePadre)){
			comparar=comparar.getSuperclass();
		}
		valdev=comparar!=null && clasePadre!=null && comparar.equals(clasePadre);
		return valdev;
	}

}
